//
// Created by yunlang on 2021/12/7.
//
#ifndef FILEARCHIVER_FILEENCODE_H
#define FILEARCHIVER_FILEENCODE_H
#include<vector>
using namespace std;
class FileEncode
{
private:
    unsigned char *fileInfo;
    unsigned char *weightMapData;
    unsigned char *data;
    unsigned int dataBitSize;
    unsigned int weightMapValCount;

    vector<pair<unsigned char, unsigned int>> weightMapArr;
public:
    static const unsigned int WeightMapElementSize;
    void generateWeightMapArr();
    FileEncode(unsigned char* fileInfo,unsigned char* weightMapData,unsigned char * data,unsigned int dataBitSize,unsigned int weightMapValCount);
    ~FileEncode();
    vector<pair<unsigned char,unsigned int>>& getWeightMapArr();
    unsigned int getDataBitSize() const;
    unsigned char* getData();
    unsigned char* getFileInfo();
};
#endif //FILEARCHIVER_FILEENCODE_H
